home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Installation Tools & Overlays 2002 November
/
SGI IRIX Installation Tools & Overlays 2002 November - Disc 4.iso
/
dist
/
motif21_dev.idb
/
usr
/
Motif-2.1
/
include
/
Xm
/
MwmUtil.h.z
/
MwmUtil.h
Wrap
C/C++ Source or Header
|
2002-10-15
|
7KB
|
279 lines
/*
* @OSF_COPYRIGHT@
* COPYRIGHT NOTICE
* Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
* ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
* the full copyright text.
*/
/*
* HISTORY
*/
/* $XConsortium: MwmUtil.h /main/11 1995/08/18 17:42:47 drk $ */
/*
* (c) Copyright 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
#ifndef _XmMwmUtil_h
#define _XmMwmUtil_h
#include <X11/Xmd.h> /* for protocol typedefs */
#ifdef __cplusplus
extern "C" {
#endif
/* This is duplicated from Xm.h, since we need to check whether to pull in the
* SGI extensions, _but_ we don't want to pull in all the other Xm rubbish
* --- offer
*/
/*
* _SGIMOTIF is SGIs look and feel. Turning this off during compilation
* of an application would be a bad idea, all the widget structure offsets
* will be wrong compared to the shipped library---rmo
*/
#ifndef _NO_SGIMOTIF
#undef _SGIMOTIF
#define _SGIMOTIF TRUE
#else
#undef _SGIMOTIF
#endif
/* _SGIBUGFIX is a wrapper around SGI bug fixes. This is also mainly used
* internal to the library --- rmo
*/
#ifndef _NO_SGIBUGFIX
#undef _SGIBUGFIX
#define _SGIBUGFIX TRUE
#else
#undef _SGIBUGFIX
#endif
/* _SGIMOTIFAPI is used to wrap the extenstions to the Motif API that SGI have
* made. This may be turned off during application compilation to ensure
* that no SGI extensions have been used---rmo
*/
#ifdef _SGIMOTIF
#ifndef _NO_SGIMOTIFAPI
#undef _SGIMOTIFAPI
#define _SGIMOTIFAPI TRUE
#else
#undef _SGIMOTIFAPI
#endif
#endif /* _SGIMOTIF */
#if defined(_SGIMOTIF) && defined(_SGIMOTIFAPI)
#ifndef MWM_FUNC_QUIT_APP
#define MWM_FUNC_QUIT_APP (1L << 23)
#endif
#ifndef MWM_INFO_STARTUP_SGI
#define MWM_INFO_STARTUP_SGI (1L << 2)
#endif
#ifndef _XA_WM_QUIT_APP
#define _XA_WM_QUIT_APP "_WM_QUIT_APP"
#endif
#ifndef _XA_SGI_TELL_WM
#define _XA_SGI_TELL_WM "_SGI_TELL_WM"
#endif
#endif
/*
* Contents of the _MWM_HINTS property.
*/
typedef struct
{
/* These correspond to XmRInt resources. (VendorSE.c) */
int flags;
int functions;
int decorations;
int input_mode;
int status;
} MotifWmHints;
typedef MotifWmHints MwmHints;
/* bit definitions for MwmHints.flags */
#define MWM_HINTS_FUNCTIONS (1L << 0)
#define MWM_HINTS_DECORATIONS (1L << 1)
#define MWM_HINTS_INPUT_MODE (1L << 2)
#define MWM_HINTS_STATUS (1L << 3)
/* bit definitions for MwmHints.functions */
#define MWM_FUNC_ALL (1L << 0)
#define MWM_FUNC_RESIZE (1L << 1)
#define MWM_FUNC_MOVE (1L << 2)
#define MWM_FUNC_MINIMIZE (1L << 3)
#define MWM_FUNC_MAXIMIZE (1L << 4)
#define MWM_FUNC_CLOSE (1L << 5)
/* bit definitions for MwmHints.decorations */
#define MWM_DECOR_ALL (1L << 0)
#define MWM_DECOR_BORDER (1L << 1)
#define MWM_DECOR_RESIZEH (1L << 2)
#define MWM_DECOR_TITLE (1L << 3)
#define MWM_DECOR_MENU (1L << 4)
#define MWM_DECOR_MINIMIZE (1L << 5)
#define MWM_DECOR_MAXIMIZE (1L << 6)
/* definitions for running automated tests */
#define WINDOW_MINIMIZE_INFO 0
#define WINDOW_MAXIMIZE_INFO 1
#define WINDOW_MOVE_INFO 2
#define WINDOW_RAISE_INFO 3
#define WINDOW_RESIZE_NORTH_INFO 4
#define WINDOW_RESIZE_SOUTH_INFO 5
#define WINDOW_RESIZE_EAST_INFO 6
#define WINDOW_RESIZE_WEST_INFO 7
#define WINDOW_RESIZE_NORTHEAST_INFO 8
#define WINDOW_RESIZE_NORTHWEST_INFO 9
#define WINDOW_RESIZE_SOUTHEAST_INFO 10
#define WINDOW_RESIZE_SOUTHWEST_INFO 11
#define WINDOW_MENU_ITEM_SELECT_INFO 12
#define WINDOW_DEICONIFY_INFO 13
#define WINDOW_MENU_POST_INFO 14
#define WINDOW_FOCUS_INFO 15
#define WINDOW_MENU_UNPOST_INFO 16
#define WINDOW_MENU_ITEM_CHECK_INFO 17
#define ICON_MOVE_INFO 18
#define ICON_MENU_POST_INFO 19
#define ICON_MENU_UNPOST_INFO 20
#define ICON_MENU_ITEM_SELECT_INFO 21
#define WM_NORTHWEST 0
#define WM_NORTH 1
#define WM_NORTHEAST 2
#define WM_WEST 3
#define WM_EAST 4
#define WM_SOUTHWEST 5
#define WM_SOUTH 6
#define WM_SOUTHEAST 7
#define INVALID -1
#define MAX_MENU_ITEMS 20
#define MAX_NAME_LEN 95
/* values for MwmHints.input_mode */
#define MWM_INPUT_MODELESS 0
#define MWM_INPUT_PRIMARY_APPLICATION_MODAL 1
#define MWM_INPUT_SYSTEM_MODAL 2
#define MWM_INPUT_FULL_APPLICATION_MODAL 3
/* bit definitions for MwmHints.status */
#define MWM_TEAROFF_WINDOW (1L << 0)
/*
* The following is for compatibility only. It use is deprecated.
*/
#define MWM_INPUT_APPLICATION_MODAL MWM_INPUT_PRIMARY_APPLICATION_MODAL
/*
* Contents of the _MWM_INFO property.
*/
typedef struct
{
long flags;
Window wm_window;
} MotifWmInfo;
typedef MotifWmInfo MwmInfo;
/* bit definitions for MotifWmInfo .flags */
#define MWM_INFO_STARTUP_STANDARD (1L << 0)
#define MWM_INFO_STARTUP_CUSTOM (1L << 1)
/*
* Definitions for the _MWM_HINTS property.
*/
typedef struct
{
/* 32-bit property items are stored as long on the client (whether
* that means 32 bits or 64). XChangeProperty handles the conversion
* to the actual 32-bit quantities sent to the server.
*/
unsigned long flags;
unsigned long functions;
unsigned long decorations;
long inputMode;
unsigned long status;
} PropMotifWmHints;
typedef PropMotifWmHints PropMwmHints;
/* number of elements of size 32 in _MWM_HINTS */
#define PROP_MOTIF_WM_HINTS_ELEMENTS 5
#define PROP_MWM_HINTS_ELEMENTS PROP_MOTIF_WM_HINTS_ELEMENTS
/* atom name for _MWM_HINTS property */
#define _XA_MOTIF_WM_HINTS "_MOTIF_WM_HINTS"
#define _XA_MWM_HINTS _XA_MOTIF_WM_HINTS
/*
* Definitions for the _MWM_MESSAGES property.
*/
#define _XA_MOTIF_WM_MESSAGES "_MOTIF_WM_MESSAGES"
#define _XA_MWM_MESSAGES _XA_MOTIF_WM_MESSAGES
/* atom that enables client frame offset messages */
#define _XA_MOTIF_WM_OFFSET "_MOTIF_WM_OFFSET"
/*
* Definitions for the _MWM_MENU property.
*/
/* atom name for _MWM_MENU property */
#define _XA_MOTIF_WM_MENU "_MOTIF_WM_MENU"
#define _XA_MWM_MENU _XA_MOTIF_WM_MENU
/*
* Definitions for the _MWM_INFO property.
*/
typedef struct
{
/* 32-bit property items are stored as long on the client (whether
* that means 32 bits or 64). XChangeProperty handles the conversion
* to the actual 32-bit quantities sent to the server.
*/
long flags;
Window wmWindow;
} PropMotifWmInfo;
typedef PropMotifWmInfo PropMwmInfo;
/* number of elements of size 32 in _MWM_INFO */
#define PROP_MOTIF_WM_INFO_ELEMENTS 2
#define PROP_MWM_INFO_ELEMENTS PROP_MOTIF_WM_INFO_ELEMENTS
/* atom name for _MWM_INFO property */
#define _XA_MOTIF_WM_INFO "_MOTIF_WM_INFO"
#define _XA_MWM_INFO _XA_MOTIF_WM_INFO
/*
* Miscellaneous atom definitions
*/
/* atom for motif input bindings */
#define _XA_MOTIF_BINDINGS "_MOTIF_BINDINGS"
#ifdef __cplusplus
} /* Close scope of 'extern "C"' declaration which encloses file. */
#endif
#endif /* _XmMwmUtil_h */